home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
src
/
X11
/
Fresco
/
build
/
Unix
/
config
/
cf
/
ibm.cf
< prev
next >
Wrap
Text File
|
1995-07-12
|
9KB
|
299 lines
XCOMM platform: $XConsortium: ibm.cf,v 1.52 94/06/04 16:44:25 rws Exp $
#ifdef RsArchitecture
#define OSName AIX 3.2.5
#define OSMajorVersion 3
#define OSMinorVersion 2
#define OSTeenyVersion 5
#else
#ifdef RtArchitecture
#ifdef AIXArchitecture
#define OSName AIX 2.2
#define OSMajorVersion 2
#define OSMinorVersion 2
#else
#define OSName AOS 4.3
#define OSMajorVersion 4
#define OSMinorVersion 3
#endif
#else
#define OSName AIX 1.2.1
#define OSMajorVersion 1
#define OSMinorVersion 2
#define OSTeenyVersion 1
#endif
#endif
XCOMM operating system: OSName
#ifdef RsArchitecture
#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
#define HasBSD44Sockets YES
/*
* If you do not have threads support installed, put
* #define HasPosixThreads NO
* in the BeforeVendorCF section of your site.def.
*/
#if !defined(HasPosixThreads) && (OSMajorVersion > 3 || (OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))))
#define HasPosixThreads YES
#endif
#if HasPosixThreads
#define SystemMTDefines -D_THREAD_SAFE
#define ThreadedX YES
#define ThreadsLibraries -lpthreads -lc_r
#endif
#endif
#define CcCmd xlc
/*
* For IBM platforms, we must define both the location of the compiler
* and the location of its standard C++ library. The library location
* is needed to resolve dependent library symbols when we build our own
* C++ shared libraries like libFresco
*/
#ifndef CplusplusCmd
#define CplusplusCmd xlC
#endif
#ifndef CplusplusLibC
#define CplusplusLibC /usr/lpp/xlC/lib/libC.a
#endif
#ifndef CplusplusDependIncludes
#define CplusplusDependIncludes -I/usr/lpp/xlC/include
#endif
/*
* IBM's xlC refuses to compile files unless their names end in ".C".
* As an alternative to this fix, one could edit /etc/xlC.cfg
* to change the suffix accepted by the compiler, but we prefer not
* requiring users to reconfigure their C++ compilers to make them work.
* We also have to override the default SUFFIXES to defeat the use of
* the builtin .C -> .o file, which doesn't use the right flags.
*/
.SUFFIXES:
.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
$(CXX) -c $(CXXFLAGS) options $*.C
#define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\
baseobj.Osuf: basedep.CCsuf @@\
test -r basedep.C || $(LN) basedep.CCsuf basedep.C @@\
$(CXX) -c $(CXXFLAGS) options basedep.C
#define SystemV YES
#define LdCombineFlags -r
#define ExecableScripts YES
#define Malloc0ReturnsNull YES
#define CppCmd /usr/lpp/X11/Xamples/util/cpp/cpp
#define StandardDefines -DSYSV -DAIXV3 -D_ALL_SOURCE
#define ExpandManNames YES
#define ExtensionOSDefines -DXTESTEXT1
#define XibmServer YES
#define ibmIncludeSKYWAY YES
#define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */
#define InstallCmd /usr/ucb/install
#include <ibmLib.rules>
#else
#define UnixCpp /**/
#define cppdefs -DUNIXCPP
#ifdef ATHENA
#define ibmAthenaDefs -DATHENA
#else
#define ibmAthenaDefs /**/
#endif
#ifdef AIXArchitecture
#define SystemV YES
#ifdef RtArchitecture
#define BootstrapCFlags -Daix
#define OSDefines -DAIX -DAIXrt -DNO_FUNCTION_PROTOTYPES -DIBM_OS_HAS_HFT
#else
#define ExecableScripts YES
#define ExpandManNames YES
#define InstallCmd /usr/ucb/install
#define OSDefines -DAIX386 -DIBM_OS_HAS_HFT
#define NeedFunctionPrototypes YES
#define NeedNestedPrototypes YES
#define NeedConstPrototypes YES
#define NeedVarargsPrototypes YES
#define LdCombineFlags -r /* PS/2 doesn't do ld -X */
#endif
#define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */
#ifdef USE_PCC
#define CcCmd i386cc
#define ibmosdefs -DHCVERSION=HCRevision
#else
#ifdef RtArchitecture
#define CcCmd cc -Nd4000 -Nn3000 -DBSD_INCLUDES
#define ibmosdefs -DSYSV -Nd4000 -Nn3000
#define ibmlibdefs -Hcpp
#else
#define ibmosdefs -DSYSV
#endif
#endif /* USE_PCC */
#else /* else AOS - warning: AOS is going away... */
#define HasNdbm YES
#define CcCmd hc
#define ibmosdefs -DHCVERSION=HCRevision
#define OSDefines -DBSDrt
#define OPERATING_SYSTEM BSDrt
#define BootstrapCFlags -Dibm
#if OSMajorVersion >= 4 && OSMinorVersion >= 3
#define SetTtyGroup YES
#endif
#endif /* AIXArchitecture */
#define HasVoidSignalReturn NO
#ifdef RtArchitecture
/*
* These define the screens the server will allow
* affected: .../server/ddx/ibm/Makefile
* .../server/ddx/ibm/common/Makefile
* Also, be sure to remove .../server/ddx/ibm/common/ibmscreen.o
*/
#define ibmInclude8514 NO /* YES */
#define ibmIncludeAED NO
#define ibmIncludeAPA16 YES
#define ibmIncludeAPA8c NO
#define ibmIncludeEGA NO /* YES */
#define ibmIncludeMPEL NO
#define ibmIncludeVGA NO /* YES */
#define ibmIncludeGEN NO
#endif /* RtArchitecture */
#ifdef PS2Architecture
/*
* These define the screens the server will allow
* affected: .../server/ddx/ibm/Makefile
* .../server/ddx/ibm/common/Makefile
* Also, be sure to remove .../server/ddx/ibm/common/ibmscreen.o
*
* PS2, Rt, ...
*/
#define ibmInclude8514 YES
#define ibmIncludeAED NO
#define ibmIncludeAPA16 NO
#define ibmIncludeAPA8c NO
#define ibmIncludeEGA NO
#define ibmIncludeMPEL NO
#define ibmIncludeVGA YES
#define ibmIncludeGEN NO
#endif /* PS2Architecture */
/*
* These define the screens the server will allow
* affected: .../server/ddx/ibm/Makefile
* .../server/ddx/ibm/common/Makefile
* Also, be sure to remove .../server/ddx/ibm/common/ibmscreen.o
*
* PS2, Rt, ...
*/
#ifndef ibmosdefs
#define ibmosdefs /**/
#endif
#ifndef ibmarchdefs
#define ibmarchdefs /**/
#endif
#ifndef ibmlibdefs
#define ibmlibdefs /**/
#endif
#define StandardDefines -Dibm ibmosdefs ibmarchdefs
#define LintOpts -ax -Dibm ibmosdefs ibmarchdefs
/*
* This defines the name of server you want.
* affected: .../X11/server/Makefile
*/
#define XibmServer YES
/*****************************************************************************
* Platform-specfic parameters *
*****************************************************************************/
/*
* affected: .../server/ddx/ibm/common/Makefile
* .../server/os/4.2bsd/Makefile
* remove: .../server/ddx/ibm/common/ibminit.o
* .../server/ddx/ibm/common/ibmio.o
* .../server/ddx/ibm/common/ibmutils.o
* .../server/os/4.2bsd/utils.o
*/
/* Need This Also For our IBM Imakefiles */
#define SpecialMalloc NO
#define ibmSpecialMalloc NO
PCC = pcc
#ifndef AIXArchitecture /* AOS-specific */
/*
* It's real useful to know the version of hc we're using, but hc doesn't
* identify itself in the pre-processor, so we have to do it by hand.
*
* To determine which version of hc you have, compile (DON'T link) some simple
* program ("hello world" leaps to mind) and look in the .o (with "nm") for a
* symbol named ".oVhc[0-9].[0-9][a-z]" -- this symbol is included in all
* .o's by hc, and identifies the compiler release.
*
* To Calculate HCRevision, multiply the version number by 1000 and add the
* index of the release letter.
* For example, if nm reports:
* 00000000 A .oVhc2.1d
* The HCRevision is ((2.1 * 1000)+('d'-'a'+1)) == 21004
* Another popular version of hc is:
* 00000000 A .oVhc1.4r
* Whose HCRevision is ((1.4 * 1000)+('r'-'a'+1)) == 14018
*
* A good clue that HCRevision is defined incorrectly is the undefined symbol
* '_Alloca' at load time.
*/
#define HCRevision 21025
/*
* hc revision 1.4r won't compile parts of Xt and some clients.
*/
#if HCRevision == 14018
#define BandAidCompiler "rtcchack.bac"
#undef MacroFile
#define MacroFile ibm.cf $(IRULESRC)/rtcchack.bac
#endif
#endif /* AOS */
/*
* define this as you like for server compilation
* affected: all makefiles in .../X11/server
*/
#define ServerExtraDefines cppdefs -DNOSTDHDRS OSDefines
#define FontOSDefines StandardDefines
/* define this as you like for server font support */
#ifdef AIXArchitecture
#define FontFilters BDFTOSNFFILT SHELLPATH
#endif
/* define the following line for easily debuggable servers, the */
/* second line for especially speedy servers. */
/* #define ServerCDebugFlags -O -DDEBUG -DTRACE_X */
#define ServerCDebugFlags -O ibmAthenaDefs
/* define this as you like for normal library compilation */
#define LibraryDefines cppdefs ibmlibdefs StandardDefines
#endif /* non RsArchitecture */